# -*- coding: utf-8 -*-
'''
Created on 12-07-2012

@author: z0nk
'''
from AuctionProvider import AuctionProvider
from BeautifulSoup import BeautifulSoup
import urllib2
# import cookielib
# from datetime import datetime, timedelta

data = { u"styczeń":1,
        u"luty":2,
        u"marzec":3,
        u"kwiecień":4,
        u"maj":5,
        u"czerwiec":6,
        u"lipca":7,
        u"sierpień":8,
        u"wrzesień":9,
        u"październik":10,
        u"listopad":11,
        "grudzień":12 }

class AllegroProvider(AuctionProvider):
    '''
    classdocs
    '''
    
#    def __init__(self):
#        '''
#        Constructor
#        '''


    
    def loguj(self,username,password):
        self.username = username
        self.password = password
        res = self.openUrl(url="http://allegro.pl/mainpage_login.php")
        bs = BeautifulSoup(res)
        
        logindata={
            "global_login_hash": bs.find("input",{"name":"global_login_hash"}).get("value"),
            "session": bs.find("input",{"name":"session"}).get("value"),
            "session_login_hash": bs.find("input",{"name":"session_login_hash"}).get("value"),
            "url": bs.find("input",{"name":"url"}).get("value"),
            "cod": bs.find("input",{"name":"cod"}).get("value"),
            "user_login": self.username,
            "user_password": self.password
        }
        res = self.openUrl(url="http://allegro.pl/login.php",postdata = logindata)
        bs = BeautifulSoup(res)
        
        if bs.find(text = "Wyloguj") == "Wyloguj":
            self.__zalogowany__ = True
            
    def getPrzedmiotInfo(self, url):
        req = urllib2.Request(url)
        res = self.opener.open(req)
        self.opener.close()
        bs = BeautifulSoup(res)
        
        nazwa = str(bs.find("h1").text)
#        aktCena = float(str(bs.find(name="strong", attrs={"class":"price"}).text)[:-3].replace(",","."))
        
        tmpdate =  str(bs.find(name="li", attrs={"class":"left smaller timeInfo"}).text)[15:-1].strip()
        dzien=int(str(tmpdate.split(",")[0].split(" ")[0]).strip(" )("))
        miesiac=int(data[str(tmpdate.split(",")[0].split(" ")[1]).decode("utf-8")])
        rok = 2012
        godzina,minuta,sekunda = tmpdate.split(",")[1].strip().split(":")
        
        if(len(str(miesiac)) == 1 ):
            miesiac = "0" + str(miesiac)
        
        if(len(str(dzien)) == 1 ):
            dzien = "0" + str(dzien)
            
        
            
            
        #godzina = int(str(godzina))
        #minuta = int(str(minuta))
        #sekunda = int(str(sekunda))
        
        #koniec = datetime(rok,miesiac,dzien,godzina,minuta,sekunda)
        koniec = str(str(rok) + "-" + str(miesiac) + "-" + str(dzien) +" "+ godzina+":"+minuta+":"+sekunda)
        
        retdict = {'Nazwa':nazwa, 'Url':url, 'IDDostawcy': 1, 'Koniec':koniec}

        return retdict
        
    def updateAktCena(self,url):
        req = urllib2.Request(url)
        res = self.opener.open(req)
        self.opener.close()
        bs = BeautifulSoup(res)
        #idp = self.baza.getPrzedmiotID(url)
        
        aktCena = float(str(bs.find(name="strong", attrs={"class":"price"}).text)[:-3].replace(",","."))
        
        return aktCena
        #self.baza.updateAktCena(idp,aktCena)
        